#! /bin/sh -vx
# $Id$
# Copyright 2022-2023 TANAKA Takuji <ttk@t-lab.opal.ne.jp>
# You may freely use, modify and/or distribute this file.

BinDir=${BinDir:-.}
ExeExt=${ExeExt:-}
_bibtexu=$BinDir/bibtexu$ExeExt

test -d tests || mkdir -p tests

LC_ALL=C; export LC_ALL; LANGUAGE=C; export LANGUAGE
#
TEXMFCNF=$srcdir/../kpathsea; export TEXMFCNF
BSTINPUTS=$srcdir/tests; export BSTINPUTS
BIBINPUTS=$srcdir/tests; export BIBINPUTS


rc=0

if [ "$(expr substr $(uname -s) 1 5)" = "MINGW" ]; then
  echo "*** skip test $0 on MinGW"
  exit 77
fi

## test for add.period$
cp $srcdir/tests/periodu.aux tests/xperiodu.aux
$_bibtexu tests/xperiodu || rc=3
diff $srcdir/tests/periodu.bbl tests/xperiodu.bbl || rc=4

## test for substring$
cp $srcdir/tests/substru.aux tests/xsubstru.aux
$_bibtexu tests/xsubstru || rc=5
diff $srcdir/tests/substru.bbl tests/xsubstru.bbl || rc=6

## test for text.length$, text.prefix$
cp $srcdir/tests/txtprfxu.aux tests/xtxtprfxu.aux
$_bibtexu tests/xtxtprfxu || rc=7
diff $srcdir/tests/txtprfxu.bbl tests/xtxtprfxu.bbl || rc=8

## test for width$
##   (FIXME) Greek, Cyrillic are not impremented yet
cp $srcdir/tests/widthu.aux tests/xwidthu.aux
$_bibtexu tests/xwidthu || rc=9
diff $srcdir/tests/widthu.bbl tests/xwidthu.bbl || rc=10

## test for chr.to.int$, int.to.str$, int.to.chr$
cp $srcdir/tests/charu.aux tests/xcharu.aux
$_bibtexu tests/xcharu || rc=11
diff $srcdir/tests/charu.bbl tests/xcharu.bbl || rc=12

## test for num.names$, format.name$
cp $srcdir/tests/nameu.aux tests/xnameu.aux
max_print_line=119 $_bibtexu tests/xnameu || rc=13
diff $srcdir/tests/nameu.bbl tests/xnameu.bbl || rc=14

exit $rc
